package com.film.financial.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.film.common.annotation.Excel;
import com.film.common.core.domain.BaseEntity;

/**
 * 预算编制对象 budget
 * 
 * *@author fy
 * @date 2025-02-17
 */
public class Budget extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预算主键 */
    private Long id;

    /** 预算名称 */
    @Excel(name = "预算名称")
    private String budgetName;

    /** 预算编号 */
    @Excel(name = "预算编号")
    private String budgetNumber;

    /** 预算金额 */
    @Excel(name = "预算金额")
    private String budgetMoney;

    /** 预算起始日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预算起始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date startDate;

    /** 预算结束日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预算结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endDate;

    /** 预算说明 */
    @Excel(name = "预算说明")
    private String budgetInstructions;

    /** 审批人 */
    @Excel(name = "审批人")
    private String approver;

    /** 审批日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审批日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date approvalDate;

    /** 状态 */
    @Excel(name = "状态")
    private String budgetStatus;

    /** 备注 */
    @Excel(name = "备注")
    private String notes;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setbudgetName(String budgetName) 
    {
        this.budgetName = budgetName;
    }

    public String getbudgetName() 
    {
        return budgetName;
    }
    public void setBudgetNumber(String budgetNumber) 
    {
        this.budgetNumber = budgetNumber;
    }

    public String getBudgetNumber() 
    {
        return budgetNumber;
    }
    public void setBudgetMoney(String budgetMoney) 
    {
        this.budgetMoney = budgetMoney;
    }

    public String getBudgetMoney() 
    {
        return budgetMoney;
    }
    public void setStartDate(Date startDate) 
    {
        this.startDate = startDate;
    }

    public Date getStartDate() 
    {
        return startDate;
    }
    public void setendDate(Date endDate) 
    {
        this.endDate = endDate;
    }

    public Date getendDate() 
    {
        return endDate;
    }
    public void setBudgetInstructions(String budgetInstructions) 
    {
        this.budgetInstructions = budgetInstructions;
    }

    public String getBudgetInstructions() 
    {
        return budgetInstructions;
    }
    public void setApprover(String approver) 
    {
        this.approver = approver;
    }

    public String getApprover() 
    {
        return approver;
    }
    public void setApprovalDate(Date approvalDate) 
    {
        this.approvalDate = approvalDate;
    }

    public Date getApprovalDate() 
    {
        return approvalDate;
    }
    public void setBudgetStatus(String budgetStatus) 
    {
        this.budgetStatus = budgetStatus;
    }

    public String getBudgetStatus() 
    {
        return budgetStatus;
    }
    public void setNotes(String notes) 
    {
        this.notes = notes;
    }

    public String getNotes() 
    {
        return notes;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("budgetName", getbudgetName())
            .append("budgetNumber", getBudgetNumber())
            .append("budgetMoney", getBudgetMoney())
            .append("startDate", getStartDate())
            .append("endDate", getendDate())
            .append("budgetInstructions", getBudgetInstructions())
            .append("approver", getApprover())
            .append("approvalDate", getApprovalDate())
            .append("budgetStatus", getBudgetStatus())
            .append("notes", getNotes())
            .toString();
    }
}
